package com.ete.service.entry.location

import android.os.Build

/**
 * Author:LiXian
 * <p>
 * Desc:定位配置
 * Version:1.0
 * date 2025/4/7 17:52
 */
data class LocationEntry @JvmOverloads constructor(
        //高德地图key（定位类型为高德定位时，必需传入）
        var geoKey: String = "",

        //串口GPS模块定位
        //设备型号
        var deviceMode: String = Build.MODEL.uppercase(),
        //回调时间间隔
        var callbackInterval: Int = 60,

        //定位类型（android原始API）
        var locationType: LocationType = LocationType.TYPE_ANDROID_API,

        //定位时间间隔（单位：秒），默认：30秒
        var interval: Int = 30,
        //是否连续定位，默认：不连续（定位成功后，就不再定位）
        var isInterval: Boolean = false,
        //最大定位次数，默认：60次（60次没获取到定位，自动停止）
        var maxLocationCount: Int = 60,
        //定位超时时间（单位：秒），默认：30秒
        var timeout: Int = 30,
        //定位信息有效期时间（单位：秒），默认60分钟
        var expiration: Int = 60 * 60,
        //是否需要详细地理位置信息，默认：需要
        var isDetailInfo: Boolean = true,
        //回调定位结果信息
        var mCallback: ((LocationResult) -> Unit)? = null,
)

enum class LocationType {
    TYPE_GEO, TYPE_ANDROID_API
}